# YUV 到 JPEG 转换工具 Makefile

# 编译器设置
CC = gcc
CFLAGS = -Wall -Werror -g

# libjpeg 库相关设置
# 使用 pkg-config 获取库信息（如果可用）
JPEG_LIBS = $(shell pkg-config --libs libjpeg 2>/dev/null || echo "-ljpeg")
JPEG_INCLUDE = $(shell pkg-config --cflags libjpeg 2>/dev/null || echo "")

# 目标文件
TARGETS = yuv2jpg yuv2jpg_sharpen

# 默认目标
all: $(TARGETS)

# 编译基本转换工具
yuv2jpg: yuv2jpg.c
	$(CC) $(CFLAGS) -o $@ $< $(JPEG_INCLUDE) $(JPEG_LIBS)

# 编译带锐化功能的转换工具
yuv2jpg_sharpen: yuv2jpg_sharpen.c
	$(CC) $(CFLAGS) -o $@ $< $(JPEG_INCLUDE) $(JPEG_LIBS)

# 清理编译生成的文件
clean:
	rm -f $(TARGETS) *.o

# 安装目标（可选）
install:
	install -m 755 yuv2jpg /usr/local/bin/
	install -m 755 yuv2jpg_sharpen /usr/local/bin/

# 帮助信息
help:
	@echo "可用目标："
	@echo "  all              - 编译所有程序（默认）"
	@echo "  yuv2jpg          - 编译基本的 YUV 到 JPEG 转换工具"
	@echo "  yuv2jpg_sharpen  - 编译带图像锐化功能的转换工具"
	@echo "  clean            - 清理编译生成的文件"
	@echo "  install          - 安装程序到系统"
	@echo "  help             - 显示此帮助信息"
	@echo "  info             - 显示库信息"

# 显示库信息
info:
	@echo "使用的编译器: $(CC)"
	@echo "编译选项: $(CFLAGS)"
	@echo "libjpeg 包含路径: $(JPEG_INCLUDE)"
	@echo "libjpeg 链接选项: $(JPEG_LIBS)"

# 声明伪目标
.PHONY: all clean install help info